********************************
*
*  Alternative specifications
*
********************************

/*

This file tests alternative model specifications that 

 1. allow two separate coefficients for the effect of explanatory variables
    (other than ideological distance) on the choice of joining one of 
	the eight party groups, on the one hand, and the choice of remaining 
	unaffiliated, on the other hand (reported in Note 16 of the paper)
 2. use the slightly different classification of party membership by Koch 
    (1989) (reported in Note 17 of the paper)

All tests are based on the full model specification (model 1). For the 
effects of the non-ideological variables, which are the variables that we 
examine below, we found very little difference in results between using a 
multiple or a single estimation approach to estimating model 1. Thus, for
simplicity, we do not employ a multiple estimation approach in the 
specification tests below. Our measure of ideological similarity is based 
on MPs' posterior mean positions.

*/


cd "..."

use data.dta, clear


* Estimate main model 1 (without repeated estimation) for comparison
*********************************************************************
asclogit okt_best idist_b_med_aug_part idist_b_med_aug_kpart d_alter ///
	ant_eigReg ant_eigKonf ant_eigStand ant_eigVorp ant_eigVerein ///
	ant_eigStrafe ant_eigPolAmt ant_eigParlAmt ant_eigBeruf if auswahl==1, ///
	case(id) alt(alt) base(8) 
est store mod1


* Test for separate coefficients of explanatory variables on for the 
* choice of joining a party group vs remaining unaffiliated 
************************************************************************
/* 
For each explanatory variable, we reestimate model 1 using separate 
coefficients for the choice of a party vs. choice to remain unaffiliated 
and compare this specification to model 1 with an LR test.

For all explanatory variables except similarity with regard to previous 
membership in the Vorparlament, these tests are insignificant indicating 
that separate coefficients do not improve the model fit. For similarity 
with regard to membership in the Vorparlament, the estimated results are 
very similar to the ones reported in the paper. 
*/

// Age of MP
asclogit okt_best idist_b_med_aug_part idist_b_med_aug_kpart ///
	d_alter_part d_alter_kpart ///
	ant_eigReg ant_eigKonf ant_eigStand ant_eigVorp ant_eigVerein ///
	ant_eigStrafe ant_eigPolAmt ant_eigParlAmt ant_eigBeruf if auswahl==1, ///
	case(id) alt(alt) base(8)
est store flex_alter
lrtest mod1 flex_alter

// Electoral region 
asclogit okt_best idist_b_med_aug_part idist_b_med_aug_kpart d_alter ///
	ant_eigReg_part ant_eigReg_kpart ant_eigKonf ant_eigStand ant_eigVorp ///
	ant_eigVerein ant_eigStrafe ant_eigPolAmt ant_eigParlAmt ant_eigBeruf ///
	if auswahl==1, case(id) alt(alt) base(8)
est store flex_reg
lrtest mod1 flex_reg

// Confession
asclogit okt_best idist_b_med_aug_part idist_b_med_aug_kpart d_alter ///
	ant_eigReg ant_eigKonf_part ant_eigKonf_kpart ant_eigStand ant_eigVorp ///
	ant_eigVerein ant_eigStrafe ant_eigPolAmt ant_eigParlAmt ant_eigBeruf ///
	if auswahl==1, case(id) alt(alt) base(8)
est store flex_konf
lrtest mod1 flex_konf

// Noble status
asclogit okt_best idist_b_med_aug_part idist_b_med_aug_kpart d_alter ///
	ant_eigReg ant_eigKonf ant_eigStand_part ant_eigStand_kpart ///
	ant_eigVorp ant_eigVerein ant_eigStrafe ant_eigPolAmt ant_eigParlAmt ///
	ant_eigBeruf if auswahl==1, case(id) alt(alt) base(8)
est store flex_stand
lrtest mod1 flex_stand	

// Profession
asclogit okt_best idist_b_med_aug_part idist_b_med_aug_kpart d_alter ///
	ant_eigReg ant_eigKonf ant_eigStand ant_eigVorp ant_eigVerein ///
	ant_eigStrafe ant_eigPolAmt ant_eigParlAmt ant_eigBeruf_part ///
	ant_eigBeruf_kpart if auswahl==1, case(id) alt(alt) base(8)
est store flex_beruf
lrtest mod1 flex_beruf

// Previous membership in Vorparlament 
asclogit okt_best idist_b_med_aug_part idist_b_med_aug_kpart d_alter ///
	ant_eigReg ant_eigKonf ant_eigStand ant_eigVorp_part ant_eigVorp_kpart ///
	ant_eigVerein ant_eigStrafe ant_eigPolAmt ant_eigParlAmt ant_eigBeruf ///
	if auswahl==1, case(id) alt(alt) base(8)
est store flex_vorp
lrtest mod1 flex_vorp

// Membership in political club 
asclogit okt_best idist_b_med_aug_part idist_b_med_aug_kpart d_alter ///
	ant_eigReg ant_eigKonf ant_eigStand ant_eigVorp ant_eigVerein_part ///
	ant_eigVerein_kpart ant_eigStrafe ant_eigPolAmt ant_eigParlAmt ///
	ant_eigBeruf if auswahl==1, case(id) alt(alt) base(8)
est store flex_verein
lrtest mod1 flex_verein

// Political sentence 
asclogit okt_best idist_b_med_aug_part idist_b_med_aug_kpart d_alter ///
	ant_eigReg ant_eigKonf ant_eigStand ant_eigVorp ant_eigVerein ///
	ant_eigStrafe_part ant_eigStrafe_kpart ant_eigPolAmt ant_eigParlAmt ///
	ant_eigBeruf if auswahl==1, case(id) alt(alt) base(8)
est store flex_strafe
lrtest mod1 flex_strafe

// Political office before 1848
asclogit okt_best idist_b_med_aug_part idist_b_med_aug_kpart d_alter ///
	ant_eigReg ant_eigKonf ant_eigStand ant_eigVorp ant_eigVerein ///
	ant_eigStrafe ant_eigPolAmt_part ant_eigPolAmt_kpart ant_eigParlAmt ///
	ant_eigBeruf if auswahl==1, case(id) alt(alt) base(8)
est store flex_polamt
lrtest mod1 flex_polamt

// Parliamentary mandate before 1848
asclogit okt_best idist_b_med_aug_part idist_b_med_aug_kpart d_alter ///
	ant_eigReg ant_eigKonf ant_eigStand ant_eigVorp ant_eigVerein ///
	ant_eigStrafe ant_eigPolAmt ant_eigParlAmt_part ant_eigParlAmt_kpart ///
	ant_eigBeruf if auswahl==1, case(id) alt(alt) base(8)
est store flex_parlamt
lrtest mod1 flex_parlamt



* Classification of party membership by Koch (1989) instead of Best
**********************************************************************
/*
The findings are essentially the same in terms of the coefficients' 
direction, magnitude, and precision.
*/
asclogit okt_koch idist_k_med_aug_part idist_k_med_aug_kpart d_alter ///
	ant_eigReg ant_eigKonf ant_eigStand ant_eigVorp ant_eigVerein ///
	ant_eigStrafe ant_eigPolAmt ant_eigParlAmt ant_eigBeruf if auswahl==1, ///
	case(id) alt(alt) base(8) 

